1. Field of the Invention
The present invention relates to data processing systems, and more particularly to data processing systems having a facility for constructing object oriented programs from objects or macros written in different program languages.
2. Prior Art
Object oriented programming systems provide means for creation and reuse of objects for the purpose of program generation, database management, graphical user interface generation and similar applications. To make most efficient use of object oriented programming, a variety of tools or utilities are required to overcome deficiencies in programming language and operating systems. More particularly, in the design and implementation of application program frameworks, there is a need to create object libraries and to extend well-known programming languages such as the C language to have object oriented capabilities. Further, applications should be designed and implemented so that they may be operating system independent and be able to be run on multiple diverse operating system platforms such as OS/2, AIX, UNIX or Windows. A reference text book which provides a description of Object Oriented Systems, including terminology and structure, is Object-Oriented Analysis and Design with Applications, second edition, by Grady Booch, published by Benjamin/Cummings Publishing Co., Inc. 1993. Reference to this text may be made for definition of terms related to Object-Oriented Systems.
In the prior art, there have been many articles published relating to object oriented programming and several patents which describe implementations of inventions related to object oriented programming where the patents deal primarily with database or file system management in a computer system. An article in Output, Volume 19, No. 1, Pages 15-20, 1990, entitled "Development of Databases--Restricted, Object-Oriented System," by E. M. Mund discusses a flexible dictionary system and a necessary language-independent preprocessor to permit the establishment of a specific development and service environment. This environment permits the application of certain restricted object-oriented techniques, thus allowing the setting up and servicing of data systems to be significantly reduced.
Although the article generally discusses a language independent preprocessor for a data processing system, the article does not teach nor suggest the use of persistent dictionaries in a language independent facility as does the present invention.
U.S. Pat. No. 4,989,132 discloses object-oriented programming language with application and programming objects and management. However, the patent does not teach nor suggest the use of persistent dictionaries in a language independent facility as does the present invention.
U.S. Pat. No. 4,525,780 discloses objects each identified by a code. Application framework is organized as objects. The structure framework has a plurality of different high level user languages. However, the patent does not teach nor suggest the use of persistent dictionaries in a language independent facility as does the present invention.
U.S. Pat. No. 4,953,080 discloses object management with applications and object structures and framework. However, the patent does not teach nor suggest the use of persistent dictionaries in a language independent facility as does the present invention.
An article in the IBM Technical Disclosure Bulletin published March 1992, pages 1-3 discloses object-oriented language support with multilingual capability. However, the article does not teach nor suggest the use of persistent dictionaries in a language independent facility as does the present invention.
A C language reference manual published by Microsoft Corporation, Version 7.0 describes C and C++ language having object-like macros at page 192.
However, the manual does not teach nor suggest the use of persistent dictionaries in a language independent facility as does the present invention.
Graphical user interfaces for compound applications are created by using direct manipulation (drag and drop) and/or menu commands. The control logic of such a user interface can be created by using action objects as described in copending application (Ser. No. 08/175,999). One of the most powerful action objects is the script action object. The state of a script action object includes a macro that is interpreted when the action object is triggered. This macro is often written by using a high level programming language such as Smalltalk, REXX, or LISP. State of the art application builders such as Visual Basic and Digitalk Parts provide a functionality which is similar to a script action object. In Visual Basic, the user is limited to writing scripts in basic. In Digitalk Parts, the user is limited to writing scripts in Smalltalk. This type of restriction limits the market for the visual builder program product. The user population is often divided into groups which prefer to use different languages. For example, in information management systems shops (IMS), most users would prefer using REXX. In research-oriented or education laboratories, most users prefer using LISP. Since there are groups of users for each of these scripting languages, it is desirable to support multiple scripting languages in a single system.